OpenClassrooms

PROJET DATA SCIENCE


Segmenter des clients d'un site e-commerce

Notebook n°1 - Exploration


Ambre ROBERT


Olist est une entreprise brésilienne offrant une solution pour vendre sur les marketplaces en ligne. Afin de mettre au point des campagnes de communication pertinentes, Olist souhaite comprendre les différents types d’utilisateurs de son site.

Dans ce contexte, le projet suivant s'intéresse au comportement et aux données personnelles de ces utilisateurs. L'objectif est de fournir une segmentation des clients d’Olist destinée à l’équipe Marketing afin d’améliorer la communication de l’entreprise.

Ce notebook contientient toute la partie exploration des données.

Librairies

Style des graphiques

Importation des données

Données disponibles sur Kaggle : "Brazilian E-Commerce Public Dataset by Olist" https://www.kaggle.com/datasets/olistbr/brazilian-ecommerce

1. Table des matières

2. Exploration des données

2.1 Customers

2.2 Geolocation

Vérification d'outliers

Il semble y avoir 42 points géographiques qui ne sont pas localisés au Brésil.

Après vérification il y a bien erreur de coordonnées pour 31 d'entres eux, les 11 autres sont bien au Brésil mais sur une île au large de l'Océan Atlantique (dans la ville "fernando de noronha").

Nous allons corriger les 31 lignes aux mauvaises coordonnées en se servant des variables "geolocation_city" et "geolocation_state".

Toutes les coordonnées sont maintenant correctes.

2.3 Order items

Le jeu de données comporte des informations sur 98666 commandes.

2.4 Order payments

Dans ce jeu de données il y a des informations sur le paiement de 99440 commandes.

On remarque que le nombre de commandes est légèrement plus élevé que dans le jeu de données précédent.

2.5 Order reviews

2.6 Orders

On enlève toutes les commandes annulées.

Rajoutons maintenant des variables correspondant aux délais de livraison et à l'écart entre la date de l'estimation de la livraison et la livraison réelle.

2.7 Products

Mettons les noms des produits en anglais

Rajoutons une variable pour le volume des produits.

2.8 Sellers

3. Regroupement des données

Customers & Geolocation

Il semble que certains zip code du jeu de données des clients n'était pas présents dans le jeu de données des localisations. Cela explique les 278 lignes avec des valeurs manquantes pour les latitudes et longitudes.

Nous allons maintenant compléter ces valeurs de coordonnées manquantes en utilisant le nom des villes et des États associées.

J'ai un dataframe "customers_geoloc_data" qui contient des données sur les clients d'un site de e-commerce. J'ai des variables "customer_city", "cutomer_geolocation_lat" et "cutomer_geolocation_lng" pour les villes et les coordonnées géographiques de ces clients. J'aimerai créer une carte pour avoir un visualisation de la répartition des clients dans le pays étudié.

Sellers & Geolocation

Encore une fois certain zip code du jeu de données des vendeurs ne sont pas présents dans celui des informations géographique ce qui signifie que quelques vendeurs n'ont pas de latitude et longitude associées.

Nous allons les compléter à l'aide des noms des villes et des États dans lesquels ils sont situés.

Orders & Orders payments

Order Items & Products

Il semble que certains produits de certaines commandes ne soients pas présents dans le jeu de données "products".

Est ce possible que pour une même commande il y ait des articles de vendeurs différents ?

La réponse est oui.

On va donc d'abord joindre le jeu de données "order_items_products" avec le jeu de données des vendeurs avant de traiter les données.

Order Items Products & Sellers Geoloc

Orders final

Nettoyage du jeu de données "orders"

Il y a 748 lignes où les variables number_of_review, average_review_score et review_comment sont manquantes car ce sont des commandes qui n'étaient pas présentes dans le jeu de données initial des avis.

Il y a 611 commandes qui n'ont pas d'information sur le/les produit(s) car les id des commandes ne sont pas présents dans le jeu de données initial "order_items".

Après vérification il s'agit de commandes qui n'ont pas abouties mais n'ont pas encore été annulées/ remboursées. Pour le moment gardons ces commandes.

Customers

RFM features

Nettoyage du jeu de données "customers"

Pour chaque clients :

On va également créer un jeu de données "customers_ari.csv" qui contient une variable supplémentaire - la date - qui nous permettra d'établir la maintenance de notre modèle.

4. Analyse descriptive du jeu de données des utilisateurs